package com.cjg.Class;

public class demo06 {
    public static void main(String[] args) throws ClassNotFoundException {
        //获取系统加载器,在java.class.path下
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        System.out.println(systemClassLoader);
        //获取 扩展类加载器 在jre.lib.ext下
        ClassLoader parent = systemClassLoader.getParent();
        System.out.println(parent);
        //获取引导类加载器由c++ 编写 不可获取 所以位null
        ClassLoader parent1 = parent.getParent();
        System.out.println(parent1);

        //获取当前类使用那个类加载器
        ClassLoader classLoader = Class.forName("com.cjg.Class.demo06").getClassLoader();
        System.out.println(classLoader);

        //获取系统类使用那个类加载器
        ClassLoader classLoader1 = Class.forName("java.lang.Object").getClassLoader();
        System.out.println(classLoader1);

        //获取系统类加载器的路径
        String property = System.getProperty("java.class.path");
        System.out.println(property);

        //因为双亲委派机制 定义类时会一个个在加载器上找 是否有相同的 不会存在与核心java类库相同的名的类
    }
}
